package com.hlkj.pay.vo.merchant.req.access;

import javax.validation.constraints.Size;

import com.hlkj.framework.common.valid.EnumValid;
import com.hlkj.pay.enums.MerchantEnum;
import com.hlkj.pay.vo.BasePageReq;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* 商户进件表
* @TableName t_merchant_access_info
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MerchantAccessPageReq extends BasePageReq {
  
    /**
    * 服务商编码
    */
    @Schema(description ="商户号")
    private String sn;
    /**
     * 渠道侧商户号
     */
    @Schema(description ="子商户号")
    private String subMchId;
    /**
     * 审核状态，0：草稿 1：鉴权中 2：已提交，等待平台审核，3：系统自动审核中，4：系统审核通过渠道审核中，5：平台审核中，6：待签约，7：签约中，8：待配置，9：配置中，10：审核完成，11：审核驳回
     */
    @Schema(description ="审核状态，0：草稿 1：鉴权中 2：已提交，等待平台审核，3：系统自动审核中，4：系统审核通过渠道审核中，5：平台审核中，6：待签约，7：签约中，8：待配置，9：配置中，10：审核完成，11：审核驳回")
    @EnumValid(value = MerchantEnum.ACCESS_STATUS.class,message = "审核状态 不合法")
    private Integer status;
    
    /**
     * 结束时间
     */
    @Schema(description ="请求单号")
    private String requestId;
    /**
     * 结束时间
     */
    @Schema(description ="商户单号")
    private String mchOrderNo;
    /**
     * 机构号
     */
    @Schema(description ="机构号")
    private String superAgent;
    
    /**
     * 服务商编码
     */
    @Schema(description ="服务商编码")
    private String providerCode;
    /**
    * 通道编码
    */
    @Schema(description ="通道编码")
    private String channelCode;
    @Schema(description ="商户名称")
    private String name;
    @Schema(description ="商户简称")
    private String shortName;
    /**
     * 联系人名称
     */
    @Size(max= 64,message="编码长度不能超过64")
    @Schema(description ="联系人名称")
    private String contactName;
    /**
     * 联系人手机号
     */
    @Size(max= 64,message="编码长度不能超过64")
    @Schema(description ="联系人手机号")
    private String contactPhone;
    
    /**
     * 商户类别 1 商户 2 代理商户
     */
    @Schema(description = "商户类别 1 商户 2 代理商户")
    private Integer snType;
    
}
